package com.qf.pickname2302;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;

/**
 * 采用面向过程的方式，实现从文本文件中随机选取一个学生的名字
 */
public class Pickname {

    public static void main(String[] args) throws Exception {
        // 文件路径
        String filepath = "D:\\2302\\names.txt";

        //1. 读取文本文件的内容，放入一个集合（Arraylist）中
        ArrayList<String> lines = new ArrayList<>();
        BufferedReader br = new BufferedReader(new FileReader(filepath));
        try  {
            String line;
            while ((line = br.readLine()) != null) {
                lines.add(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            br.close();
        }

        //2. 生成一个随机数，把随机数的范围控制在0~数组长度减一
        int index = 0;
        if (lines.size()>0){
            Random random = new Random();
            index= random.nextInt(lines.size());
            //3. 根据随机数下标获取List中的元素即可
            String name = lines.get(index);
            System.out.println("中奖的同学是:"+name);
        }else {
            throw new Exception("文本文件中没有任何名字!");
        }



    }

}
